import IPython.core.display as di
# This line will hide code by default when the notebook is exported as HTML
di.display_html('<script>jQuery(function() {if (jQuery("body.notebook_app").length == 0) { jQuery(".input_area").toggle(); jQuery(".prompt").toggle();}});</script>', raw=True)
# This line will add a button to toggle visibility of code blocks, for use with the HTML export version
di.display_html('''<button onclick="jQuery('.input_area').toggle(); jQuery('.prompt').toggle();">Toggle code</button>''', raw=True)
from IPython.display import Image
import boto3
from IPython.core.interactiveshell import InteractiveShell
InteractiveShell.ast_node_interactivity = "all"
import plotly
plotly.offline.init_notebook_mode()
import plotly.plotly as py
import plotly.graph_objs as go
#plotly.tools.set_credentials_file(username='alwaysandeep', api_key='eKZcMTk2w3iXZITbstJ1')
Image("C:/Users/sandeep.chitta/OneDrive for Business/OneDrive - Slalom, LLC/demos/amazon ai/rekognition/detect labels/official_dl.jpg")
#### User Defined function
BUCKET = "awsrekognition-demo1"
class bcolors:
HEADER = '\033[95m'
OKBLUE = '\033[94m'
OKGREEN = '\033[92m'
WARNING = '\033[93m'
FAIL = '\033[91m'
ENDC = '\033[0m'
BOLD = '\033[1m'
UNDERLINE = '\033[4m'
def detect_labels(bucket, fileName,MinConfidence=75,max_labels=10, region="us-east-1"):
rekognition = boto3.client("rekognition", region)
response = rekognition.detect_labels(Image={'S3Object':{'Bucket':bucket,'Name':fileName}},MinConfidence=MinConfidence,MaxLabels=max_labels)
properties=dict()
print('Detected labels for ' + fileName)
for label in response['Labels']:
#print(bcolors.BOLD+"{0:20} Confidence {1} %".format(label['Name'],round(label['Confidence'],3))+bcolors.ENDC)
#print("{0:20} Confidence {1} %".format(label['Name'],round(label['Confidence'],3)))
print('\x1b[3;30;43m'+"{0:20} Confidence {1} %".format(label['Name'],round(label['Confidence'],3))+'\x1b[0m')
properties[label['Name']]=round(label['Confidence'],3)
return(properties)
#return(dict(sorted(properties.items(), key=lambda x: x[1])))
def display_labels(prop):
layout = go.Layout(
title='Detected labels in the image',
)
data = [go.Bar(
x=prop.keys(),
y=prop.values()
)]
fig = go.Figure(data=data, layout=layout)
plotly.offline.iplot(fig, filename='color-bar')
Image("C:/Users/sandeep.chitta/OneDrive for Business/OneDrive - Slalom, LLC/demos/amazon ai/rekognition/detect labels/image1_dl.jpg")
KEY = "image1_dl.jpg"
prop=detect_labels(BUCKET, KEY,MinConfidence=40,max_labels=10, region="us-east-1")
display_labels(prop)
Image("C:/Users/sandeep.chitta/OneDrive for Business/OneDrive - Slalom, LLC/demos/amazon ai/rekognition/detect labels/image2_dl.jpg")
KEY = "image2_dl.jpg"
prop=detect_labels(BUCKET, KEY,MinConfidence=75,max_labels=6, region="us-east-1")
display_labels(prop)
Image("C:/Users/sandeep.chitta/OneDrive for Business/OneDrive - Slalom, LLC/demos/amazon ai/rekognition/detect labels/image3_dl.jpg")
KEY = "image3_dl.jpg"
prop=detect_labels(BUCKET, KEY,MinConfidence=20,max_labels=20, region="us-east-1")
display_labels(prop)
Image("C:/Users/sandeep.chitta/OneDrive for Business/OneDrive - Slalom, LLC/demos/amazon ai/rekognition/detect labels/image4_dl.jpg")
KEY = "image4_dl.jpg"
prop=detect_labels(BUCKET, KEY,MinConfidence=75,max_labels=6, region="us-east-1")
display_labels(prop)